yoshispeedrunsfandomcom-20200215-history
TAS Tricks
This is a page for TAS tricks, TAS stands for Tool-Assisted Speedrun. If you aren't aware of what that means, please check out the TASvideos introduction page below: TASvideos Introduction If you want to start TAS'ing, first of all you should download this .wch-file and open it with RAM watch in your emulator. This lets you see a bunch of important values for example velocity and position, which you will use alot while TAS'ing. Click here to download. For the sake of clarity, let < and > denote left and right directional input, let ^ and v denote up and down directional input and let _ denote no directional input. One pixel contains 256 subpixels. This number is used within the RAM to achieve more precise positioning. One frame means ~1/60th of a second or a click on frame advance. Keep in mind every input has a delay of 3-4 frames before Yoshi responds to it. 'Movement' 'Speed' Yoshi's speed (x-velocity) when running varies between 3 different values. Without slope oscillation these values should be either "736, 752 and 768" or... "744, 760 and 776". These numbers are subpixels per frame. Yoshi's speed cuts off once you travel faster than 3 pixels per frame, which is 768 subpixels. Most of the times you want to see the number 760-767, to achieve the 760 speed when you are at 752 just throw in one < somewhere among the inputs(this should be done as early as possible). To maintain your speed while facing backwards use the following input: < > > < This will reduce your speed by 56 for one frame and then add 56 speed two frames later for one frame. If you want to tounge backwards the Y button should be pressed after the last directional input to avoid speed-loss. 'Slope Oscillation' Running on slopes aren't always a disadvantage, as slopes can reduce your speed so it doesn't multiply by 8. This means speeds above 760 are achieveable by running on slopes for a brief amount of time. Running at an average speed of 767 compared to 760 saves about 1 frame every 100 frames. '1/1 Running' The TAS'ers at TASvideos decided to ban this trick for some TAS projects, keeping entertainment value in mind. This trick involves pressing < > every 2 frames after reaching the optimal speed oscillation, varying the speed between 2 numbers rather than 3, going 56 subpixels faster every 2 frames compared to just holding >... Doing this trick at 767 x-velocity would save about 3,5 frames every 100 frames. Here are the comments regarding this trick in the 100% TAS: "The final restriction we made is on the 1/1 running trick, named after 1/1 swimming in SMW. This trick basically makes Yoshi run slightly faster than normal at the cost of alternating between pressing < and > every frame. The problem with this is that whenever you lick eggs you must release < and > on the dpad or you will lose speed. Only licks that occur for 1 frame are possible without any speed loss. This severely limits the entertainment possibilities, as modern Yoshi’s Island has become all about cool egg shots and juggling things. The constant wobbling may also be irksome for some. Rather than arbitrarily losing time on cool egg shots, we decided to simply ban this trick outright. Note that this also applies to other input sequences that can be repeated constantly to obtain a higher average speed than 767 subpixels per frame (1/1ing is just the prime example). As before, we disallowed this with entertainment in mind, and the frames lost from not using this trick are hardly visible anyway. This is the only time speed was sacrificed for entertainment." 'Acceleration' The optimal acceleration input when Yoshi is at a complete stop, also with jumping arrows is: < > > > > < > > > < > > > < > > > < > > < > ... After the last > continue holding > until Yoshi's speed is at max. This acceleration method gets to 760 velocity speed in 29 frames. While regular acceleration (just holding >) gets to 752 velocity in 49 frames. Coming out of a flutter the optimal acceleration method is the following input 8 frames before ascending sprite appears: < > > '< > > > < > > > < > > > < > ... After the last > continue holding > until Yoshi's speed is at max. This acceleration method gets 8.064 pixels further than just holding > in a lap of 40 frames. 'Stopping/Turning around Tounguing a wall or roof is the fastest method for turning around and stopping. The x-velocity instantly drops to 0 and you can start the acceleration inputs 3 frames before you see the 0 value. When running at full speed and you want to turn around, use the following input: v v v > > > > ... and start the acceleration method. When falling off a ledge and you want to turn around, use the following input 7 frames before the falling sprite appears: _ v v v+> > ... After the last > continue holding > until Yoshi's speed is at max. This will show a ducking sprite while falling and it is recommended to jump 4 frames before landing to prevent slowdown from the ducking. However you cannot groundpound while performing this trick. When landing and you want to turn around, use the following input 4 frames before landing sprite appears: v v v > > > > > > ... and start the acceleration method. 'Walljumping' Basically you have to go atleast 768 subpixels or 3 pixels into a wall on a tile boundary(every 16 y-pixels). To do this you have to make sure the frame before you hit the wall you are at for example .213 pixels travelling at 808 subpixels per frame by using the < > > input, that example will get you 3.001 pixels into the wall, and if you are at a tile boundary Yoshi will show a standing sprite for 1 frame, press B 3 or 4 frames before that to get the jump. To get the right Y-position just vary releasing B from the flutter or jump for different frames. In the picture to the right there is a demonstration of a walljump. Take a close look at the numbers and it should be clearer, the wall is at 1984 x-position. I know that because I tested it by bumping into the wall and stopped at 1984.255. Keep in mind this guy did the < > > input 1 frame earlier than he's supposed to, that means he doesn't benefit from the greatest velocity. However he still made it 3 pixels into the wall. Let's do the math! Already at frame 6716 we can do the math to find out we will go 3 pixels into the wall. Look at "X Position 2" and "X Sub-Pos 2", it means the next frame you will be at 1984.247 which is right before the wall. Look at the "next speed" which is 791. How far is 3 pixels? 768 subpixels right? So we subtract 791 by 768... 23! And how far away were we from the wall at that frame? We subtract 256 by 247 to find out.. Which is 9! So now we just subtract 23 by 9 to find out just how far into the 3rd pixel of the wall we will go. And that is 14 subpixels. So if we just press frame advance once we can see now that the "X Position 2" and "X Sub-Pos 2" becomes... 1987.014! Just like we predicted! Getting the right subpixels can be tricky sometimes, and you will have to try different combinations of <, _ and > to get the right number. Always make sure you're doing the < > > input at the right frame while testing this. If you dont have enough space on the re-record to fully accelerate before the wall when doing the inputs to slow down then you have to go back further in the movie and do the inputs there. It is also recommended to release all directional inputs, freezing at a good velocity alot of frames before the wall, leaving space for slowdown inputs. 'Speed altering inputs' Using these while accelerating will not work. Adding _ will freeze your velocity in most cases, but not always. This table is meant to make it easier for TAS'ers to perform a walljump, by doing the math's instead of testing different inputs all the time. 'Object Physics' 'Pixel Porting/Auto Correction Of Movement' This game has something called pixel porting and movement auto correction like many other games, for example Perfect Flutter abuses this mechanic. This is the reason you dont really have to care so much about Y-positioning when it comes to Walljumping (its only frame perfect when to release B, not Y-subpixel/pixel perfect). When trying to bonk your head into the roof you can auto correct you up to 5 pixels (to the nearest wall), this means you can jump earlier when doing a U-turn upwards. You can fall off a ledge 3 pixels by getting velocity to fall off it before the ledge and get 0 or opposite X-velocity, this will pixel port you out of the wall. Having 0 or negative(moving upwards) Y-velocity while traveling towards ledges can pixel port you up to 8 pixels, this also applies to slopes because slopes are basically stairs with less than 8 pixel ledges (thats why your Y Sub-Pos is always 255 when running up slopes). Releasing B earlier can make you land faster when it comes to jumping up to ledges. Certain objects can pixel port you even further, enemies can also pixel port you. Shooting through walls It is possible to shoot eggs through one block thick walls when standing more than 3 pixels inside it. Only works to the left, however in the 100% TAS they managed to do it to the right on a flower in 3-7 because the flower hitbox was inside the wall. This basically uses the same method as Walljumping except that you dont need to jump. 'Flatbed Ferry's (Platforms)' These handles Yoshi as if he was standing on the ground when standing on them, so Yoshi's velocity will be 0. When jumping off them Yoshi's speed will instantly increase with the platforms velocity. So jumping multiple times on them can be abused to achieve 2048 X-velocity. Sometimes it's possible to gain a boost off them by doing a Perfect Jump, this is due to them moving upwards for a very small amount of time before going down, an example would be the 3 platforms in 2-8. 'Stairs' Stairs kills Yoshi's momentum upon landing on them, sets Yoshi's x/y velocity to +/-256(1 pixel per frame) when pressing left or right and pixelports. It's possible to clip through stairs by: *Travelling over 10 x-pixels, loosing under 8 y-pixels while having positive y-velocity (falling to avoid pixelporting). *Multiple frame perfect Tounguing while holding forward. *Pixel perfect jumping onto another ledge connected to the stair, like in 2-4. 'Koopa Shells' Koopa shells can be used as portable platforms, because you can bounce on them and tounge them back at the same time (frame perfect). When bouncing on the shell of a Koopa, you become invurnable for a short amount of time. 'Chomp Rocks' TO-DO 'Crates' TO-DO 'Fuzzies' TO-DO 'Melon Bugs' When colliding with a melon bug while having 0 or the same negative/positive side of velocity(possible with opposite velocity in the air with some angles), it carries over its momentum to Yoshi. This is can be abused to achieve incredibly high speeds by spitting it out and ricocheting it over and over. This was used in the 100% TAS to clip through walls at 4-5. 'Terrain' 'Mud' TO-DO 'Snow' TO-DO 'Ice' TO-DO 'Water' TO-DO